/**
 * Created by ailk on 2017/6/18.
 */
$(function () {
    var obj={
        root:"",
        init:function () {
            this.initDate();
           this.eventInt();
        },
        initDate:function(){
            this.root=window.location.host;
        },
        eventInt:function () {
            var _this=this;

            // $('#resultId').change(function(){
            //     // alert($(this).children('option:selected').val());
            //     var val=$(this).children('option:selected').val();
            //     $("#resultId").find("option").removeAttr("selected");
            //     $("#resultId").find("option").each(function(){
            //             if($(this).attr("value")==val){
            //                 $(this).attr("selected","selected");
            //
            //             }
            //         });
            // });

            $("input[type='radio']").click(function(){
                var nameStr=$(this).attr("name");
                var valStr=$(this).attr("value");
                var $obj=$("input[name='"+nameStr+"']");
                $obj.removeAttr("checked");
                $obj.each(function(){
                    if($(this).attr("value")==valStr){
                        $(this).attr("checked","checked");
                        $("#isOkId").val(valStr);

                    }
                });
            });

            // var headers = {};
            // headers['__RequestVerificationToken'] = "${RequestVerificationToken}";
            // $("#saveTemplateData").click(function () {
            //     // alert($("body").html());
            //     $.ajax({
            //         type: 'POST',
            //         headers: headers,
            //         url: _this.root+"/jc/templateData/createDataByTemplate" ,
            //         // data: {"templateData":$("body").html()} ,
            //         dataType: "text",
            //         success: function (data) {
            //             window.location.href=date;
            //         },
            //         error:function(){
            //
            //         }
            //
            //     });
            // });

            $("#CalculationTbodyId").delegate("td[contenteditable='true']","blur",function(){
                var r=$(this).attr("r");
                var c=$(this).attr("c");
                var arr=_this.getCalculationOriginalValue(r);
               var ave= _this.averageCalculation(r,arr);
                var abs=_this.absolutelyCalculation(r,ave);
                _this.relativeCalculation(r,abs);
            });
            $("td[name='repeat']").blur(function(){
                var arry=[];
                var sum=0;
                var ave=0;
                var i=0;
                $("td[name='repeat']").each(function(){
                    if($(this).text()!=""){
                        var val=Number($(this).text());
                        arry.push(val);
                        sum+=Number(val);
                        i++;
                    }

                })
                if(i==6){
                    ave=sum/i;
                    _this.repeartCalculation(arry,ave);
                }
            });

            $("td[name='zero']").blur(function(){
                var maxVal=0;
                var maxIndex=0;
                // var i=0;
                $("td[name='zero']").each(function(index){
                    var val=$(this).text();
                    if(val!=""){
                        if(Number(val)>maxVal){
                            maxVal=val;
                            maxIndex=index;
                        }
                        // i++
                    }
                })
                // if(i==5){
                   $("#zMaxId").text(maxVal);
                   $("#zPYId").text(maxVal);
                // }
                _this.indicationCalculation();

            });

            $("td[name='indication']").blur(function(){
                    _this.indicationCalculation();
            });
            
            
            $("td[name='alarmError']").blur(function () {
                var maxVal=0;
                var maxIndex=0;
                $("td[name='alarmError']").each(function(index){
                    var val=$(this).text();
                    if(val!=""){
                        if(Number(val)>maxVal){
                            maxVal=val;
                            maxIndex=index;
                        }
                    }
                })
                $("#alarmErrorMaxId").text(maxVal);
            })

            //响应时间平均值计算

            $("#CalculationTbodyId").delegate("td[name='xytimen']","blur",function () {
                var times=[];
                $("td[name='xytimen']").each(function (index) {
                    var val=$(this).text();
                    if(val!=""){
                        times.push(val);
                    }
                })
                if(times.length==3){
                   var avg= formulaUtil.averageCalculation(times,2);
                   $("#xyTimeAvgId").text(avg);
                }
            })


            //空呼示值的计算
            $("td[name='pressure20']").blur(function(){
                if($("#201Id").text()!="" && $("#202Id").text()!=""){
                    if(Number($("#201Id").text())>Number($("#202Id").text())){
                        $("#20MaxId").text($("#201Id").text());
                    }else{
                        $("#20MaxId").text($("#202Id").text());

                    }
                }else{
                    $("#20MaxId").text("");
                }
            });
            $("td[name='pressure10']").blur(function(){
                if($("#101Id").text()!="" && $("#102Id").text()!=""){
                    if(Number($("#101Id").text())>Number($("#102Id").text())){
                        $("#10MaxId").text($("#101Id").text());
                    }else{
                        $("#10MaxId").text($("#102Id").text());

                    }
                }else{
                    $("#10MaxId").text("");
                }
            });
            $("td[name='pressure5']").blur(function(){
                if($("#51Id").text()!="" && $("#52Id").text()!=""){
                    if(Number($("#51Id").text())>Number($("#52Id").text())){
                        $("#5MaxId").text($("#51Id").text());
                    }else{
                        $("#5MaxId").text($("#52Id").text());

                    }
                }else{
                    $("#5MaxId").text("");
                }
            });

        },
        indicationCalculation:function(){
            var maxVal=0;
            var maxIndex=0;
            // var i=0;
            $("td[name='indication']").each(function(index){
                var val=$(this).text();
                if(val!=""){
                    if(Number(val)>maxVal){
                        maxVal=val;
                        maxIndex=index;
                    }
                    // i++
                }
            })
            // if(i==5){
                $("#iMaxId").text(maxVal);
                if($("#z"+maxIndex).text()!="" && $("#z0").text()!=""){
                    $("#iPYId").text(Math.round(((Number(maxVal)-Number($("#z"+maxIndex).text()))/(Number($("#i0").text())-Number($("#z0").text())) -1)*1000)/10+"%");
                }
            // }
        },
        loadMeasureScope:function(){
            var arrayObj=[{
                "measureScope":"10-12",
                "deviceType":"1"
            },{
                "measureScope":"15-17",
                "deviceType":"2"
            },{
                "measureScope":"18-19",
                "deviceType":"3"
            }];
        },
        // createMeasureScopeDom:function(arrayObj){
        //     $("#MeasureScopeTbodyId").html("");
        //     $("#CalculationTbodyId").html("");
        //     var mstStr="";
        //     var ctStr="";
        //     for(var i=0;i<arrayObj.length;i++){
        //         mstStr+="<tr>"
        //             "<td>qt</td>"
        //             "<td>bh</td>"
        //             "<td>"+arrayObj[i].measureScope+"</td>"
        //             "<td>bqdd</td>"
        //             "<td>zs</td>"
        //             "<td>yxq</td>"
        //             "</tr>";
        //         ctStr+="<tr>"
        //             "<td>"+arrayObj[i].measureScope+"</td>"
        //             "<td contenteditable='true' r='"+i+"' c='1'></td>"
        //             "<td contenteditable='true' r='"+i+"'  c='2'></td>"
        //             "<td contenteditable='true' r='"+i+"'  c='3'></td>"
        //             "<td contenteditable='true' r='"+i+"'  c='4'></td>"
        //             "<td id='abs'"+i+"></td>"
        //             "<td id='rel'"+i+"></td>"
        //             "<td>/</td>"
        //             "<td>/</td>"
        //             "<td>/</td>"
        //             "<td>/</td>"
        //             "</tr>";
        //
        //     }
        //     $("#MeasureScopeTbodyId").html(mstStr);
        //     $("#CalculationTbodyId").html(ctStr);
        // },
        getCalculationOriginalValue:function (r) {
            var rc1=$("td[r='"+r+"'][c='1']").text();
            var rc2=$("td[r='"+r+"'][c='2']").text();
            var rc3=$("td[r='"+r+"'][c='3']").text();
            // var rc4=$("td[r='"+r+"'][c='4']").text();
            if(rc1!=null && rc1!="" && rc2!=null && rc2!="" && rc3!=null && rc3!=""){

                return [rc1,rc2,rc3];
            }else{
                return null;
            }
        },
        averageCalculation:function(r,arr){
            var ave=formulaUtil.averageCalculation(arr);
           $("#ave"+r).text(ave);
           return ave;
        },
        absolutelyCalculation:function(r,ave){
            var abs="";
            if(ave!=""){
                abs=Number(ave)-Number($("#ms"+r).text());
                $("#abs"+r).text(abs);
            }
            return abs;


        },
        relativeCalculation:function(r,abs){

            if(abs!=""){

                $("#rel"+r).text(Math.round(abs/Number($("#ms"+r).text())*1000)/10+"%");
            }




        },
        repeartCalculation:function(arr,ave){
            var sum=0;
            var n=arr.length;
            for(var i=0;i<n;i++){
                sum+= (arr[i]-ave) * (arr[i]-ave);
            }
            $("#repeatId").text(Math.round(Math.sqrt(sum/(n-1))/ave*1000)/10+"%");

        }

    }

    obj.init();
})

function selectScopeChange(obj){
        $.ajax({
            type: 'POST',
            headers: headers,
            url: _root+"/template/findBzwzByScopeId" ,
            data: {"scopeId":obj} ,
            dataType: "json",
            success: function (data) {
                $("#MeasureScopeTbodyId").html("");
                $("#CalculationTbodyId").html("");
                var htmlStr="";
                var hs="";
                $.each(data,function (index,obj) {
                    htmlStr+="<tr>"
                    +"<td>"+obj.matter_name+"</td>"
                    +"<td>"+obj.matter_code+"</td>"
                    +"<td>"+obj.measure_scope+"<img width='40px' height='10px' src='"+_root+"/measureunitpng/"+obj.measure_unit+"' /></td>"
                    +"<td>"+obj.memo+"</td>"
                    +"<td>"+obj.cert_code+"</td>"
                    +"<td>"+obj.end_date+"</td>"
                    +"</tr>";

                    var xyTimeTable=  "<td>/</td>"+
                                        "<td>/</td>"+
                                        "<td>/</td>"+
                                        "<td>/</td>";

                    if(index==_xytimerow){
                        xyTimeTable="<td contenteditable=\"true\" name='xytimen' ></td>"+
                                    "<td contenteditable=\"true\" name='xytimen' ></td>"+
                                    "<td contenteditable=\"true\" name='xytimen' ></td>"+
                                    "<td id='xyTimeAvgId'></td>";
                    }

                    hs+="<tr>"+
                        "<td><span id='ms"+index+"'>"+obj.measure_scope+"</span><img width='40px' height='10px' src='"+_root+"/measureunitpng/"+obj.measure_unit+"' /></td>"+
                        "<td contenteditable=\"true\" r='"+index+"' c='1'></td>"+
                        "<td contenteditable=\"true\" r='"+index+"' c='2'></td>"+
                        "<td contenteditable=\"true\" r='"+index+"' c='3'></td>"+
                        "<td id='ave"+index+"' name='aveNames'></td>"+
                        "<td id='abs"+index+"' name='absNames'></td>"+
                        "<td id='rel"+index+"' name='relNames'></td>"+
                        xyTimeTable+
                        "</tr>";
                });
                $("#MeasureScopeTbodyId").html(htmlStr);

                $("#CalculationTbodyId").html(hs);

                //给选中的option标上checked
                $("#rangeId").find("option").removeAttr("selected");
                $("#rangeId").find("option").each(function(){
                    if($(this).attr("value")==obj){
                        $(this).attr("selected","selected");

                    }
                });

                //记录选择的scopeID
                $("#scopeId").val(obj);
            },
            error:function(){

            }

        });
}

function createKeyObj(){

    function getRadioTextValue(name,defaultValue) {
        var val="正常";
        if(defaultValue){
            val=  defaultValue;
        }
        $("input[name='"+name+"']").each(function(){
            if($(this).attr("checked")=="checked"){
                if($(this).attr("value")=="other"){
                    val=$("#"+name+"OtherId").val();
                }
            }
        });
        return val;
    }
    function getRadioValue(name) {
        var val="";

        $("input[name='"+name+"']").each(function(){
            if($(this).attr("checked")=="checked"){
                    val=$(this).attr("value");
            }
        });
        return val;
    }
    
    function getTextValue($obj) {
        var val=$obj.val();
        $obj.attr("value",val);
        return val;
    }

    //获得空呼最大示值
    function getKHkSZWC(){
        var data=[$("#20MaxId").text(),$("#10MaxId").text(),$("#5MaxId").text()];
       return formulaUtil.getAbsMaxValue(data);
    }

    //获取气检仪最大绝对误差
    function getSZJDWC() {
        var data=[];
        var count=0;
        $("td[name='absNames']").each(function (index) {
            var val=$(this).text();
            if(val!=""){
                data.push(val);
            }
            count=index;
        })
        if(data.length==(count+1)){
            return formulaUtil.getAbsMaxValue(data);
        }
    }

    //获取气检仪最大相对误差
    function getSZXDWC() {
        var data=[];
        var count=0;
        $("td[name='relNames']").each(function (index) {
            var val=$(this).text();
            if(val!=""){
                data.push(val.substring(0,val.length-1));
            }
            count=index;
        })
        if(data.length==(count+1)){
            return formulaUtil.getAbsMaxValue(data);
        }
    }



    var obj={
        "type":_type,
        "jdyj":$("#jdyjId").text(), //检定依据
        "ydyid":$("#ydyId").val(),  //检定人员
        "hyyid":$("#hyyId").val(),  //核验人员
        "hjwd":$("#hjwd").text(),  //环境温度
        "hjsd":$("#hjsd").text(),  //环境湿度
        "wg":getRadioTextValue("wg"), //外观
        "sgbj":getRadioTextValue("sgbj"), //声光报警
        "cyfs":getRadioValue("cyfs"),  //采样方式
        "bjndz":getTextValue($("#bjndz")),  //报警浓度值
        "szjdwc":getSZJDWC(),    //示值绝对误差
        "szxdwc":getSZXDWC(),    //示值相对误差
        "cfx":$("#repeatId").text(),  //重复性
        "xysj":$("#xyTimeAvgId").text(),  //相应时间
        "ldpy":$("#zPYId").text(),  //零点漂移
        "szpy":$("#iPYId").text(),   //示值漂移
        "jydz":getTextValue($("#jydz")),  //绝缘电阻
        "jyqd":getRadioTextValue("jyqd"),  //绝缘强度
        "bjszwc":$("#alarmSetErrorId").text(), //报警设置误差
        "khszwc":getKHkSZWC(),      //空呼  示值误差
        "khwg":$("#khwgId").text(),  //空呼外观检查
        "zjqmx":getTextValue($("#zjqmxId")),  //整机气密性
        "jtyl":getTextValue($("#jtylId")),  //静态压力
        "jyqscyl":getTextValue($("#jyqscylId")),  //减压器输出压力
        "bjyl":getTextValue($("#bjylId")), //报警压力
        "fssj":getTextValue($("#fssjId")),  //发声声级
        "lxsxsj":getTextValue($("#lxsxsjId")), //连续声响时间
        "jxsxsj":getTextValue($("#jxsxsjId")), //间隔声响时间
        "min2xqzl":getTextValue($("#min2xqzlId")), //小于2的吸气阻力
        "min2hqzl":getTextValue($("#min2hqzlId")), //小于2的呼气阻力
        "max2xqzl":getTextValue($("#max2xqzlId")), //大于2的吸气阻力
        "max2hqzl":getTextValue($("#max2hqzlId")), //大于2的呼气阻力
        "zdlcfw":getRadioValue("zdlcfw")  //指定量程范围

    }


    // alert(obj.szjdwc);
    // alert(obj.szxdwc);
   var isPass= certCalculation(_type,obj);

    obj["isPass"]=isPass;

    var okValue="不合格";
    if(isPass){
        okValue="合格";
    }
    $("#verifiedResultId").text(okValue);

    debugger;
   return obj;
}


